/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.home.contract;

import com.baiiu.filter.ClassifyBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.BanlanceBo;
import com.yiqi.liebang.entity.bo.CreateOrderBo;
import com.yiqi.liebang.entity.bo.ExpertBo;
import com.yiqi.liebang.entity.bo.PageBo;
import com.yiqi.liebang.entity.bo.PayBo;
import com.yiqi.liebang.entity.bo.PeopleBo;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface PayContract {
    interface Model {
        Observable<PayBo> createOrder(CreateOrderBo createOrderBo);

        Observable<BanlanceBo> getUserAssetsDetail(PageBo rechargeBo);
    }

    interface View extends BaseView {

        void showSuccess(PayBo classifyBos);

        void showError(String ex);
        void showBanlanceSuccess(String error);
    }


    interface Presenter extends BasePresenter {

        void createOrder(
                int orderType,
                double orderPrice,
                double payPrice,
                String userCouponId,
                int payType,
                String quizcontent,
                String Answerid,
                double questionPri);

        void createTopicOrder(
                int orderType,
                double orderPrice,
                double payPrice,
                String userCouponId,
                int payType,
                String Answerid,
                double questionPri,
                String topicAskQuestion,
                String askIntroduction,
                 String topicId
        );

        void createOneLookOrder(
                int orderType,
                double orderPrice,
                double payPrice,
                String userCouponId,
                int payType,
                double questionPri,
                String questionId
        );

        void getUserAssetsDetail(  int pageIndex,
                                   int pageSize);
    }
}
